package com.mark.aspect;

import lombok.Data;

/**
 * @Description: 日志信息
 * @Author: Mark
 * @CreateDate: 2019/8/25 20:58
 * @Version: 3.00.001
 * @Copyright : 豆浆油条个人非正式工作室
 */
@Data
public class LogInfo {

    private boolean async;


    /**
     * 注解位置
     */
    private String location;

    /**
     * 方法描述
     */
    private String description;

    /**
     * 目标类名
     */
    private String className;

    /**
     * 目标方法
     */
    private String methodName;

    /**
     * 请求参数
     */
    private String arguments;

    /**
     * 返回结果
     */
    private String result;

    /**
     * 花费时间
     */
    private Long elapsedTime;

    public String format() {
        return "注解位置: {}, 方法描述: {}, 目标类名: {}, 目标方法: {}, 请求参数: {}, 返回结果: {}, 花费时间: {}";
    }

    public Object[] args() {
        return new Object[]{this.location, this.description, this.className, this.methodName, this.arguments, this.result, this.elapsedTime};
    }
}
